<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
	</body>
	<script type="text/javascript">
		window.onload = function(){
//			let n =100;
////捕捉错误信息
//			try{
//				console.log(n/i);//可能错误的语句
//			}catch(myException){
//				console.log('尝试失败')
//				console.dir(myException.message)
//			}finally{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
//				console.log('finally')
//			}
////			console.log(n/i);
//			console.log('订单信息：XXXXXX')




//函数的定义
//			function[关键字]函数名(形式参数[可有可无,可以无限多个])｛
//			业务逻辑操作
//			return 返回值[可有可无]
//		}
//			function  add (a,b) {
//				return a+b
//				
//			}
//			document.writeln(add(3,5))

//			function draw (color,txt) {
//				document.writeln('<span style="color:'+color';">'+txt+'</span>')
//			}
//		draw("blue","我想好好学习")//里面数量可变
//		






		//形参数量可变
//		function canChangeLength(){
//			let sum = 0
//			for(var i =0;i<arguments.length;i++){
//				sum +=arguments[i]
//			}
//			return sum
//		}
//		document.writeln(canChangeLength(321,123123235,234562,123,-100000000000))






		//给你不定长的字符串，请以最后一个字符为分割线，拼接成一个字符串返回
		//（"a","b","c","/"）a/b/c
		//[1,2,3,4]
//		function join(){
//			let splitStr = arguments[arguments.length-1]
//			let myStr = ""
//			for(var i =0;i<arguments.length-1;i++){
//				if(i!==arguments.length-2){
	//不是拼接最后一个字母的时候
//					myStr +=arguments[i]+splitStr					
//				}else{
	//拼接最后一个字母的时候，不拼接分隔符
//					myStr+=arguments[i]
//				}
//			}
//			document.writeln(myStr)
//		}
//		join("a","b","c","d","-")






//匿名函数
//			let anny = new Function("a","b","return a+b")
//			document.writeln(anny(1,3,8))




//嵌套函数
//			function calCircle(r,result){
//				
//				const PI = 3.14
//				
//				function area (){
//					return PI*r*r
//				}
//				
//				function zhouchang(){
//					return 2*PI*r
//				}
//				switch(result){
//					case '面积':
//						//TODO 面积的计算
//						return area()
//						break
//					case '周长':
//						//TODO 周长的计算
//						return zhouchang()
//						break
//				}
//			}
//			document.writeln("周长："+calCircle(5.5,"周长"))
//			document.writeln("面积："+calCircle(5.5,"面积"))

			
			function cal(a,b,fh){
				function add(){
					return a+b
				}
				function sub(){
					return a-b
				}
				function mul(){
					return a*b
				}
				function div(){
					return a/b
				}
				switch(fh){
					case'+':
						return add()
						break
					case'-':
						return sub()
						break
					case'*':
						return mul()
						break
					case'/':
						return div()
						break
				}
			}
			document.writeln("a+b="+cal(4,5,'+'))
			document.writeln("a*b="+cal(4,5,'*'))
			
			
			function add(){
					return a+b
				}
				function sub(){
					return a-b
				}
				function mul(){
					return a*b
				}
				function div(){
					return a/b
				}
				
				function div(a,b,myFun){
					return myFun(a,b)
				}
				
				document.writeln("a+b="+cal(4,5,add))
				document.writeln("a*b="+cal(4,5,mul))
				document.writeln("a/b="+cal(4,5,div))
				
	}
	</script>
</html>
